如何使用boto3在两个不同帐户的S3存储桶之间复制文件

您所在的位置:网站首页 obj 文件 如何使用boto3在两个不同帐户的S3存储桶之间复制文件

如何使用boto3在两个不同帐户的S3存储桶之间复制文件

2023-03-12 19:08| 来源: 网络整理| 查看: 265

匿名用户

CopyObject()命令可用于在存储桶之间复制对象,而无需上传/下载。基本上,两个S3存储桶相互通信并传输数据。

此命令还可以用于在不同区域和不同AWS帐户中的存储桶之间进行复制。

如果希望在属于不同AWS帐户的存储桶之间进行复制,则需要使用一组凭据,这些凭据具有:

GetObject对源bucket的权限 PutObject对目标存储桶的权限

另外,请注意,CopyObject()命令被发送到目标帐户。目标bucket有效地从源bucket中提取对象。

根据您的描述,您的代码将从另一个帐户获得对源存储桶的读取权限。不幸的是,这对于CopyObject()命令是不够的,因为该命令必须发送到目标存储桶。(是的,从文档中很难看出这一点。这就是为什么专门命名源bucket而不是目标bucket的原因。)

因此,在您的情况下,为了能够复制对象,您将需要使用一组来自Acent-B(目标)的凭据,该凭据也具有从Bucket-A(源)读取的权限。这将要求供应商修改与Bucket-A关联的Bucket策略。

如果他们不希望这样做,那么您唯一的选择就是使用假定的角色下载对象,然后使用您自己的Account-B中的凭据将文件单独上载到您自己的bucket中。



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3